package cn.group7.padserver.service;

import jakarta.servlet.http.HttpServletResponse;
import org.springframework.web.multipart.MultipartFile;

import java.io.IOException;
import java.util.Map;

/**
 * @author TexBin
 */
public interface FileService {


    /**
     * 获取File对象，该对象用于存储文件（相当于开辟一个空间，为存储文件做准备）
     * @param fileName 文件名
     * @return File对象和文件名
     */
    Map<String, Object> getFile(String fileName);


    /**
     * 1.上传文件
     * @param file 文件
     * @return 文件地址
     * @throws IOException IO异常
     */
    String upload(MultipartFile file) throws IOException;


    /**
     * 2.下载文件
     * @param fileName 文件名
     * @param response 响应
     * @return 是否能够下载
     */
    boolean download(String fileName, HttpServletResponse response);

    /**
     * 3.删除文件
     * @param fileName 文件名
     * @return 是否删除成功
     */
    boolean delete(String fileName);


}
